package com.spsoft.vatoutinv.model.vo.vmsissuenegativeincoices;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.spsoft.core.model.PageVo;
import com.spsoft.vatoutinv.annotation.Translate;
import com.spsoft.vatoutinv.constants.CommonConstant;
import com.spsoft.vatoutinv.constants.DictConstant;
import com.spsoft.vatoutinv.constants.TranslateConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author wangy
 * @date 2024/1/16 13:41
 */
@Data
@ApiModel("红字确认单分页对象")
public class RedConfirmationFormVo extends PageVo {

    // 发票号码
    @ApiModelProperty("发票号码")
    private String fphm;

    // 上传状态
    @ApiModelProperty("上传状态")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_SCZT)
    private String sczt;

    // 上传结果
    @ApiModelProperty("上传结果")
    private String scjg;

    // 开票日期
    @ApiModelProperty("开票日期")
    @Translate(type = TranslateConstant.DATE,format = CommonConstant.DATE_FORMAT_14)
    private Date kprq;

    // 购买方名称
    @ApiModelProperty("购买方名称")
    private String gmfmc;

    // 价税合计金额
    @ApiModelProperty("价税合计金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal jshj;

    // 金额
    @ApiModelProperty("金额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal hjje;

    // 税额
    @ApiModelProperty("税额")
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal hjse;

    // 红冲原因 01：开票有误 02：销货退回 03：服务中止 04：销售折让
    @ApiModelProperty("红冲原因")
    @Translate(type = TranslateConstant.DICT, value = DictConstant.VMS_CHYY)
    private String zfchyy;

    // 对应蓝字发票号码
    @ApiModelProperty("对应蓝字发票号码")
    private String dylzfphm;

    @ApiModelProperty("红字信息确认单编号")
    private String hzxxqrdbh;
}
